Création d’un partage entre un hyperviseur KVM et une de ses machines virtuelles
Activation de samba
systemctl enable smb nmb
systemctl start smb nmb
Virbr0 est le bridge linux créé par libvirt lors de son installation, il faut l'identifier
ip a show dev virbr0
SI on veut modifier l'adresse de virbr0
virsh net-edit default
On crée le partage et le compte utilisateur pour s'y connecter
mkdir /partage_vm
useradd -m -d /partage_vm partage
chown -R partage /partage_vm
chmod g+w /partage_vm
smbpasswd -a partage
On declare le partage dans le ficher /etc/samba/smb.conf
[global]
workgroup = WorkGroup
netbios name = Host
server string = serveur %h (Samba %partagevm)
# On souhaite n'autoriser l'accès que via certaines interfaces réseau
bind interfaces only = Yes
interfaces = 127.0.0.1, 192.168.122.1
log file = /var/log/samba/log.%m
max log size = 100
[partage_vm]
path = /partage_vm/
public = no
browsable = yes
valid users = partage
guest ok = no
writable = yes
printable = no
hide files = /lost+found/
hide unreadable = yes
# on force les permissions
create mask = 777
force create mode = 777
security mask = 777
force security mode = 777
On redemarre samba et on ouvre les ports samba
systemctl restart nmb.service smb.service
firewall-cmd --add-service=samba --permanent --add-source=192.168.122.1/24
Test du serveur depuis l'hyperviseur
smbclient //192.168.122.1/partage_vm -U partage
Si SELinux est actif dans un dossier specifique
semanage fcontext -a -t samba_share_t '/partage_vm(/.*)?'
restorecon -R /partage_vm
Si SELinux est dans /home
setsebool -P samba_enable_home_dirs on
Pour vérifier le contexte de SELinux
ls -Z /partage_vm
-rw-rw-r--. partage partage unconfined_u:object_r:samba_share_t:s0 truc.txt
Sur la VM, le dossier est accessible à l’adresse \\ip_de_virbr0\partage_vm